import handleArr from "./index";
// 管理数据

let reducer = (
  state = { ...handleArr.state }, // 解构
  action: { type: string; value: number }
) => {
  // 深度复制
  let newState = JSON.parse(JSON.stringify(state));
  // 1
  // switch (action.type) {
  //   case handleArr.sarrpush:
  //     handleArr.actions[handleArr.sarrpush](newState, action);
  //     break;
  //   default:
  //     break;
  // }
  // 2 优化
  for (let key in handleArr.actionNames) {
    // key 是每一个键
    // 判断是否相等
    // if (action.type === "add1") {
    if (action.type === handleArr.actionNames[key]) {
      handleArr.actions[handleArr.actionNames[key]](newState, action);
      break;
    }
  }
  return newState;
};

export default reducer;
